<template>
    <button @click="test">Throw</button>
  </template>
   
  <script setup>
  // Vue 会将异步错误冒泡到父级的 onErrorCaptured()，因此每次单击该按钮时，
  // Vue 都会调用带有 err的 errorCaptured() 钩子。err.message = 'Oops'
  const test = async () => {
    await new Promise(resolve => setTimeout(resolve, 50))
    throw new Error('Oops!')
  }
  </script>